<?php

class dbConfig
{

	private $inicio;
	private $quantidade;
	private $ordenacao;
	private $orientacao;

	public function __construct($array = null){
	
		$this->inicio = 0;
		$this->quantidade = 5;
		$this->orientacao = 'DESC';
		$this->ordenacao = 'id';
		if (($array) && is_array($array)) $this->loadArrayConfig($array);
			
	}
		
	public function loadArrayConfig($array){

		if (($array) && is_array($array)){
			if (isset($array['inicio']))     $this->setInicio($array['inicio']);
			if (isset($array['quantidade'])) $this->setQuantidade($array['quantidade']);
			if (isset($array['ordenacao']))  $this->setOrdenacao($array['ordenacao']);
			if (isset($array['orientacao'])) $this->setOrientacao($array['orientacao']);
		}		
	}
		
	public function loadConfig( $inicio     = null,
								$quantidade = null,
								$orientacao = null,
								$ordenacao  = null){

		if ($inicio)     $this->setInicio($inicio);
		if ($ordenacao)  $this->setOrdenacao($ordenacao);
		if ($orientacao) $this->setOrientacao($orientacao);
		if ($quantidade) $this->setQuantidade($quantidade);
	}

	public function get($parametro){
		
		return $this->$parametro;
	}

	public function setInicio($valor){
		
		$valor = intval($valor);
		$valor = (is_int($valor) && $valor > 0) ? $valor : 0;
		$this->inicio = $valor;
	}

	public function setQuantidade($valor){
		
		$valor = intval($valor);
		$valor = (is_int($valor) && $valor > 1) ? $valor : 1;
		$valor = ($valor <= 20) ? $valor : 20;
		$this->quantidade = $valor;
	}
	
	public function setOrdenacao($valor){

		$valor = ($valor) ? $valor : 'id';
		$this->ordenacao = $valor;
	}
	
	public function setOrientacao($valor){
		
		$valor = ($valor == 'decrecente') ? 'DESC' : 'ASC';
		$this->orientacao = $valor;
	}
}
?>